package ADMINISTRACION_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class ADM_ACTIVO_FUNGIBLE {

    private int ID;
    private String ESTADO;
    private String CODIGO;
    private int ID_USUARIO;
    private int ID_TIPO_ACTIVO_FUNGIBLE;
    private Conexion con = null;

    public ADM_ACTIVO_FUNGIBLE(Conexion con) {
        this.con = con;
    }

    public ADM_ACTIVO_FUNGIBLE(int ID, String ESTADO, String CODIGO, int ID_USUARIO, int ID_TIPO_ACTIVO_FUNGIBLE) {
        this.ID = ID;
        this.ESTADO = ESTADO;
        this.CODIGO = CODIGO;
        this.ID_USUARIO = ID_USUARIO;
        this.ID_TIPO_ACTIVO_FUNGIBLE = ID_TIPO_ACTIVO_FUNGIBLE;
    }

    public int Insertar() throws SQLException {
        String consulta = "insert into BROKER.ADM_ACTIVO_FUNGIBLE (ID, ESTADO, CODIGO, ID_USUARIO, ID_TIPO_ACTIVO_FUNGIBLE) VALUES (" + ID + ",'" + ESTADO + "','" + CODIGO + "'," + ID_USUARIO + "," + ID_TIPO_ACTIVO_FUNGIBLE + ")";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.ADM_ACTIVO_FUNGIBLE_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.ADM_ACTIVO_FUNGIBLE where ID= " + getID();
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<ADM_ACTIVO_FUNGIBLE> Todos() throws SQLException {
        String consulta = "select * from BROKER.ADM_ACTIVO_FUNGIBLE";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<ADM_ACTIVO_FUNGIBLE> lista = Cargar(rs);
        return lista;
    }

    public List<ADM_ACTIVO_FUNGIBLE> Cargar(ResultSet rs) throws SQLException {
        List<ADM_ACTIVO_FUNGIBLE> lista = new ArrayList<ADM_ACTIVO_FUNGIBLE>();
        while (rs.next()) {
            ADM_ACTIVO_FUNGIBLE objeto = new ADM_ACTIVO_FUNGIBLE(con);
            objeto.setID(rs.getInt("ID"));
            objeto.setESTADO(rs.getString("ESTADO"));
            objeto.setCODIGO(rs.getString("CODIGO"));
            objeto.setID_USUARIO(rs.getInt("ID_USUARIO"));
            objeto.setID_TIPO_ACTIVO_FUNGIBLE(rs.getInt("ID_TIPO_ACTIVO_FUNGIBLE"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getESTADO() {
        return ESTADO;
    }

    public void setESTADO(String ESTADO) {
        this.ESTADO = ESTADO;
    }

    public String getCODIGO() {
        return CODIGO;
    }

    public void setCODIGO(String CODIGO) {
        this.CODIGO = CODIGO;
    }

    public int getID_USUARIO() {
        return ID_USUARIO;
    }

    public void setID_USUARIO(int ID_USUARIO) {
        this.ID_USUARIO = ID_USUARIO;
    }

    public int getID_TIPO_ACTIVO_FUNGIBLE() {
        return ID_TIPO_ACTIVO_FUNGIBLE;
    }

    public void setID_TIPO_ACTIVO_FUNGIBLE(int ID_TIPO_ACTIVO_FUNGIBLE) {
        this.ID_TIPO_ACTIVO_FUNGIBLE = ID_TIPO_ACTIVO_FUNGIBLE;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
